using FastEndpoints;

namespace Ke.Bee.Shared.Models.Uploads;

/// <summary>
/// 上传完成事件
/// </summary>
public class FileUploadedEvent<T> : IEvent where T : ParameterBase, new()
{
    public string TaskId { get; set; } = string.Empty;
    public string FileName { get; set; } = string.Empty;
    public long FileSize { get; set; }
    public string TempFilePath { get; set; } = string.Empty;
    public string ContentType { get; set; } = string.Empty;
    public DateTimeOffset UploadedAt { get; set; } = DateTimeOffset.UtcNow;
    public T Parameters { get; set; } = new();
}

public class ParameterBase
{
    public string? CallbackUrl { get; set; }
}